from django.http import HttpResponse
from django.views import View
from django_redis import get_redis_connection
from libs.captcha.captcha import captcha
from django import http


class ImageCodeView(View):

    def get(self,request,uuid):

        # uuid=request.GET.get('uuid')

        # 1.生成图片验证码和获取图片验证码的内容
        text, image = captcha.generate_captcha()
        # 2.1连接redis
        redis_conn = get_redis_connection('code')
        # 2.2将 图片验证码保存起来 uuid:xxxx 有有效期
        # redis_conn.setex(key,senconds,value)
        # redis_conn.setex(uuid,120,text)
        # 我们加了一个前缀
        # redis_conn.setex('img_%s'%uuid,120,text)
        # 增加了代码的可读性
        redis_conn.setex('img_%s'%uuid,100,text)
        # 3.返回图片验证码
        # content_type  MIME 类型
        # 大类/小类
        # return http.HttpResponse(image)
        # 告知浏览器 这是个图片
        return HttpResponse(image, content_type='image/png')
